<?php
require_once 'SendMsg.php';
    //定义一个用于创建对象的接口，让子类去决定实例化哪一个类
     abstract class Creator{
         // 定义一个创建对象的抽象工厂方法
         abstract protected function FactoryMethod():SendMsg;

     }
     //创建阿里云发送短信子类，继承创建对象接口的父类 ，在子类决定实例化的类
     class concreteCreatorAliyun extends Creator
     {
           function FactoryMethod(): SendMsg
         {
             // TODO: Implement FactoryMethod() method.
             return new Aliyun();
         }
     }
     //创建百度发送短信子类，继承创建对象接口的父类 ，在子类决定实例化的类
     class concreteCreatorBaidu extends Creator{

         public  function FactoryMethod(): SendMsg
         {
             // TODO: Implement FactoryMethod() method.
             return new Baidu();
         }
     }